#pragma once

#include <AVUITriggerBase.h>
#include <AVUIObjectCollection.h>

namespace AVUI {

class FrameworkElement;

class TriggerCollection : public TObjectCollection<TriggerBase>
{
public:
    DECLARE_ELEMENT(TriggerCollection, ObjectCollectionBase);
    TriggerCollection() : m_sealed(false) { }
    TriggerCollection(FrameworkElement* pOwner) : m_sealed(false) { }

    void Seal()
    {
        m_sealed = true;
        for (int i = 0; i < get_Count(); i++)
        {
            (*this)[i]->Seal();
        }
    }
private:

    bool m_sealed;

};


}; // namespace AVUI
